import 'package:flutter_cwhisky/generated/json/base/json_field.dart';
import 'package:flutter_cwhisky/generated/json/mall_home_entity.g.dart';
import 'dart:convert';

@JsonSerializable()
class MallHomeEntity {
	String? code;
	String? message;
	MallHomeData? data;
	int? currentTime;

	MallHomeEntity();

	factory MallHomeEntity.fromJson(Map<String, dynamic> json) => $MallHomeEntityFromJson(json);

	Map<String, dynamic> toJson() => $MallHomeEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class MallHomeData {
	List<MallHomeDataAdvert>? advert;
	List<MallHomeDataClassify>? classify;
	dynamic promotionGoods;
	dynamic lot;
	MallHomeDataMemberArea? memberArea;
	List<MallHomeDataPrefecture>? prefecture;
	List<MallHomeDataRecommend>? recommend;
	String? color;
	dynamic theme;
	int? newerCouponType;

	MallHomeData();

	factory MallHomeData.fromJson(Map<String, dynamic> json) => $MallHomeDataFromJson(json);

	Map<String, dynamic> toJson() => $MallHomeDataToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class MallHomeDataAdvert {
	String? code;
	String? title;
	String? subTitle;
	bool? showTitle;
	String? image;
	int? type;
	int? jumpType;
	String? jumpUrl;
	String? param;

	MallHomeDataAdvert();

	factory MallHomeDataAdvert.fromJson(Map<String, dynamic> json) => $MallHomeDataAdvertFromJson(json);

	Map<String, dynamic> toJson() => $MallHomeDataAdvertToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class MallHomeDataClassify {
	String? code;
	String? image;
	String? name;
	String? zhName;
	int? reorder;
	String? subIcon;
	String? subName;
	List<MallGoods>? goods;
	int? brandSize;
	dynamic brandImage;
	String? gif;
	dynamic children;
	String? enName;

	MallHomeDataClassify();

	factory MallHomeDataClassify.fromJson(Map<String, dynamic> json) => $MallHomeDataClassifyFromJson(json);

	Map<String, dynamic> toJson() => $MallHomeDataClassifyToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class MallGoods {
	dynamic goodsId;
	String? goodsCode;
	String? image;
	String? cnName;
	String? enName;
	int? promotionType;
	double? marketPrice;
	dynamic series;
	String? placeOfOrigin;
	int? salesCount;
	dynamic minOrderQuantity;
	int? usableIntegral;
	dynamic salesFlag;
	int? balanceCount;
	double? price;
	dynamic promotionPrice;
	dynamic showPrice;
	dynamic showPriceType;
	dynamic cartItemCount;
	dynamic attrValueList;
	String? brandEnName;
	String? brandCode;

	MallGoods();

	factory MallGoods.fromJson(Map<String, dynamic> json) => $MallGoodsFromJson(json);

	Map<String, dynamic> toJson() => $MallGoodsToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class MallHomeDataMemberArea {
	String? code;
	String? image;
	String? name;
	String? zhName;
	int? reorder;
	String? subIcon;
	String? subName;
	List<MallGoods>? goods;
	int? brandSize;
	dynamic brandImage;
	String? gif;
	dynamic children;

	MallHomeDataMemberArea();

	factory MallHomeDataMemberArea.fromJson(Map<String, dynamic> json) => $MallHomeDataMemberAreaFromJson(json);

	Map<String, dynamic> toJson() => $MallHomeDataMemberAreaToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}



@JsonSerializable()
class MallHomeDataPrefecture {
	String? code;
	String? name;
	List<MallHomeDataPrefectureChildren>? children;
	List<MallGoods>? goods;
	String? title;

	MallHomeDataPrefecture();

	factory MallHomeDataPrefecture.fromJson(Map<String, dynamic> json) => $MallHomeDataPrefectureFromJson(json);

	Map<String, dynamic> toJson() => $MallHomeDataPrefectureToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class MallHomeDataPrefectureChildren {
	String? code;
	String? image;
	String? name;
	String? zhName;
	int? reorder;
	String? subIcon;
	String? subName;
	List<MallGoods>? goods;
	int? brandSize;
	dynamic brandImage;
	String? gif;
	dynamic children;

	MallHomeDataPrefectureChildren();

	factory MallHomeDataPrefectureChildren.fromJson(Map<String, dynamic> json) => $MallHomeDataPrefectureChildrenFromJson(json);

	Map<String, dynamic> toJson() => $MallHomeDataPrefectureChildrenToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}


@JsonSerializable()
class MallHomeDataRecommend {
	String? code;
	String? image;
	String? name;
	String? zhName;
	int? reorder;
	String? subIcon;
	String? subName;
	dynamic goods;
	int? brandSize;
	dynamic brandImage;
	String? gif;
	dynamic children;

	MallHomeDataRecommend();

	factory MallHomeDataRecommend.fromJson(Map<String, dynamic> json) => $MallHomeDataRecommendFromJson(json);

	Map<String, dynamic> toJson() => $MallHomeDataRecommendToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}